﻿#region 命名空间

using System;
using System.Collections.Generic;

using Sharp.DataTransferObject;
using Sharp.Infrastructure;

using Sharp.Infrastructure.Search;

#endregion

namespace Sharp.ServiceContracts
{
    public partial interface IUserService
    {

        /// <summary>
        ///     创建角色。
        /// </summary>
        /// <param name="roleDTO">需要创建的角色。</param>
        /// <returns>已创建的角色。</returns>
        
        
        Result SaveRole(RoleDTO roleDTO);
        /// <summary>
        ///     获取所有角色。
        /// </summary>
        /// <returns>所有角色。</returns>
        
        
        IList<RoleDTO> GetRoles();

        /// <summary>
        ///     根据指定的ID值，获取角色。
        /// </summary>
        /// <param name="id">指定的角色ID值。</param>
        /// <returns>角色。</returns>
        RoleDTO GetRoleByKey(int id);

        /// <summary>
        ///     删除角色。
        /// </summary>
        /// <param name="roleIDs">需要删除的角色ID值列表。</param>
        Result DeleteRoles(IList<int> roleIDs);

        /// <summary>
        ///     获取分页信息(Role)
        /// </summary>
        /// <param name="pf"></param>
        /// <returns></returns>
        PagedResult<RoleDTO> GetRolePaged(PagingFeature pf);
    }
}